package com.problem.leetcode;

import javax.naming.NamingEnumeration;
import java.awt.font.NumericShaper;
import java.util.Arrays;

/**
 * TODO:
 *
 * @author yanzhuoleo
 * @version V1.0
 * @Description:
 * @date 2018-01-06-下午8:36
 */

public class Problem26 {

    public static void main(String[] args) {
        int[] nums = new int[]{1,1,1, 2,3};
        System.out.println(new Problem26().removeDuplicates(nums));
        for (int  index = 0; index < nums.length; ++index) {
            System.out.println(nums[index]);
        }
    }

    public int removeDuplicates(int[] nums) {
        // if (nums == null) {
        //     return 0;
        // }
        //
        // if (nums.length == 1) {
        //     return 1;
        // }
        //
        // int district = nums.length;
        // int end = nums.length;
        //
        // for (int index = 0; index < end;) {
        //     int j = index + 1;
        //     if(j >= end) {
        //         break;
        //
        //     }
        //     if(nums[index] == nums[j]) {
        //         --district;
        //         System.arraycopy(nums, j, nums, index , end - j);
        //         --end;
        //     }else {
        //         ++index;
        //     }
        // }
        // return district;
        if (nums.length == 0)
            return 0;
        //判断无输入
        int number = 0;//标记计数
        for (int i=0; i < nums.length ; i++) {
            if ( nums[i] != nums[number] ) {
                number++;
                nums[number] = nums[i];
            }
        }
        number+=1; //标记+1即为数字个数
        return number;
    }

}
